import unittest
import time
from loguru import logger
from utils.HTMLTestRunner import HTMLTestRunner
from utils.notifyFunc import qiyeWeixin,uploadToQW,sendEmail
from utils.common import initGlobalValue
from config import exclePath


initGlobalValue()   # 初始化全局变量


suite = unittest.TestSuite()
discover = unittest.defaultTestLoader.discover(start_dir="./case",pattern="test_*.py")
suite.addTest(discover)

now = time.strftime("%y-%m_%d_%H_%M_%S")
reportPath = f"./reports/测试报告-{now}.html"
logger.add(f"./logs/debug-{now}.log")
with open(reportPath,'wb') as f:
    runner = HTMLTestRunner(verbosity=2,stream=f,title="测试报告",description="这是浪晋的测试报告",tester="浪晋")
    runner.run(suite)

# 发送测试报告的3种方式
# 方法1：邮件发送
# sendEmail(receivers=["1821818081@qq.com","1468812861@qq.com","fenyukuang@163.com"],filePath=reportPath)   # 发送测试报告到邮箱
# 方法2：企业微信发送测试结果的消息
# qiyeWeixin("text",content="自动化测试已完成，请查看测试报告")     # 企业微信通知测试结果

# 方法3：企业微信发送测试报告文件
# media_id = uploadToQW(reportPath)         # 上传测试报告到企业微信
# qiyeWeixin("file",media_id=media_id)      # 企业微信发送测试报告

# media_id = uploadToQW(exclePath)         # 上传测试报告(excle)到企业微信
# qiyeWeixin("file",media_id=media_id)      # 企业微信发送测试报告
